/************************************************************************
                   MeshType.h - Copyright Claudio Botta

This library is free software; you can redistribute it and/or modify it 
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or 
(at your option) any later version.
This library is distributed in the hope that it will be useful, but 
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 
License for more details.

You should have received a copy of the GNU Lesser General Public License 
along with this library; if not, write to the 
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 
Boston, MA 02110, USA

This file was generated on Sat Mar 15 2008 at 10:58:12
The original location of this file is /home/bottac/geomagick/MeshType.h
**************************************************************************/


#ifndef MESHTYPE_H
#define MESHTYPE_H
#include "BaseType.h"

#include <string>
#include <iostream>
#include <cmath>

namespace geomagick{

/**
  * class MeshType
  */

class Vector3d
{
	public:
	double x;
	double y;
	double z;
	void normalize()
	{
		double	abs = sqrt(x*x + y*y + z*z);
		x /=abs;
		y /=abs;
		z /= abs;
		
	};
};

struct Vector2d
{
	double x;
	double y;
};

class MeshType : public BaseType
{ 
public:

  // Constructors/Destructors
  //  

  // Static Public attributes
  //  

  // Public attributes
  //  


  // Public attribute accessor methods
  //  


  // Public attribute accessor methods
  //  


protected:

  // Static Protected attributes
  //  

  // Protected attributes
  //  

public:


  // Protected attribute accessor methods
  //  

protected:

public:


  // Protected attribute accessor methods
  //  

protected:


private:

  // Static Private attributes
  //  

  // Private attributes
  //  

public:


  // Private attribute accessor methods
  //  

private:

public:


  // Private attribute accessor methods
  //  
  virtual void printName()
{
        cout << "MeshType \n";
}
static BaseType* init()
{
        return (new MeshType);
}
static string getTypeName()
{
        return "MeshType";
}
static BaseTypeId* getTypeId()
{
        BaseTypeId* newBaseTypeId = new BaseTypeId;
        newBaseTypeId->getTypeName = MeshType::getTypeName;
        newBaseTypeId->init = MeshType::init;
        return newBaseTypeId;
}


private:



};
}
#endif // MESHTYPE_H
